version 13
#delimit;
clear all;
set more off;
capture log close;


global strformat "%8.3f";

capture program drop sig_p;
program sig_p;
   args obj_var point_est_var point_sd_var p_val row_id_var row_num;
   local point_est `point_est_var';
   local point_sd `point_sd_var';
   if `p_val' > 0.1 {;
      replace `obj_var' = string(`point_est', "$strformat") if `row_id_var' == `row_num';
      };
   if `p_val' > 0.05 & `p_val' <= 0.1  {;
      replace `obj_var' = string(`point_est', "$strformat")+"*" if `row_id_var' == `row_num';
      };
   if `p_val' > 0.01 & `p_val' <= 0.05  {;
      replace `obj_var' = string(`point_est', "$strformat")+"**" if `row_id_var' == `row_num';
      };
   if `p_val' <= 0.01 {;
      replace `obj_var' = string(`point_est', "$strformat")+"***" if `row_id_var' == `row_num';
      };
   replace `obj_var' = "<" + string(`point_sd', "$strformat") + ">" + " " if `row_id_var' == `row_num' + 1;
   end;


*enter directory name here;

use "$dir/ReStat_children.dta", clear;
		
	
global fu_child_controls_cm
	"control_fu_child_age control_fu_female
	missing_fu_child_age missing_fu_female";
		
global fu_hh_controls_cm
	"control_fu_adults control_fu_hh_head_edu control_fu_hh_head_occ_farmer 
	control_fu_total_land control_fu_household_size
	missing_fu_adults missing_fu_hh_head_edu missing_fu_hh_head_occ_farmer 
	missing_fu_total_land missing_fu_household_size";

	

generate included_sample_enrolled = 1 if
	child_enrolled_govt == 1 | child_enrolled_private == 1 | child_enrolled_pprs == 1;	
replace included_sample_enrolled = . if
	pooled_treatment == 1 & 
	(child_enrolled_govt == 1 | child_enrolled_private == 1);
	
	
	
gen row_num = _n;


forvalues i=0/25 {;
	generate col`i' = "";
};

local row = 5;
sort row_num;
order col0-col25;
	
	

foreach var of varlist 
	math_score_dev urdu_score_dev total_score_dev {;
	

	replace col0 = "`var'" if row_num == `row';
	
	su `var' if fu_child_level == 1 & fu_young_child == 1 & child_enrolled_pprs == 1 [aw=hh_weight]; 
	replace col2 = string(r(mean), "$strformat") if row_num == `row';
	
	xi: regress `var' pooled_treatment
		$fu_child_controls_cm $fu_hh_controls_cm i.bl_district 
		if fu_child_level == 1 & fu_young_child == 1 & child_enrolled_govt == 1 [pw=hh_weight], cluster(villcode);
	test pooled_treatment;
	sig_p col8 _b[pooled_treatment] _se[pooled_treatment] r(p) row_num `row';

	
	replace `var' = -`var';
	xi: regress `var' child_enrolled_govt child_enrolled_private
		$fu_child_controls_cm $fu_hh_controls_cm i.bl_district 
		if fu_child_level == 1 & fu_young_child == 1 & included_sample_enrolled == 1 [pw=hh_weight], cluster(villcode);
	test child_enrolled_govt;
	sig_p col4 _b[child_enrolled_govt] _se[child_enrolled_govt] r(p) row_num `row';
	test child_enrolled_private;
	sig_p col5 _b[child_enrolled_private] _se[child_enrolled_private] r(p) row_num `row';
	test child_enrolled_govt = child_enrolled_private;
	replace col6 = string(r(p), "$strformat") if row_num == `row';	
	replace `var' = -`var';
	
	local row = `row' + 3;
	

};	
	
outsheet col0-col8 using "$dir/Table 6 Test Scores by school_type.csv" if
	row_num < `row', comma replace;
